//引入api
const API=require('../http/api')

//检测微信登录态是否有效的方法
const checkWxSession=function() {
  return new Promise((resolve,reject)=>{

    wx.checkSession({
      success() {
        resolve(true)
      },
      fail() {
        resolve(false)
      }
    })

  })
}

//检测用户是否登录
const checkUserIsLogined=async function() {
  //检测本是否有token
  const token=wx.getStorageSync('token')

  if(!token) return false;

  //检测token是否有效
  const res=await API.checkTokenValidApi(token)

  if(res.code!==0) {
    //本地token清除
    wx.removeStorageSync('token')
    return false
  }

  //检测微信登录态
  const isValid=await checkWxSession()
  if(!isValid) {
     //本地token清除
    wx.removeStorageSync('token')
    return false
  }

  return true;

}

//自动登录注册的方法
const authRegAndLogin=function() {
  wx.login({ 
    success: async(res) => {
      console.log('拿到wx.login的code码',res)
      //调用自动注册与登录的接口
      const result=await API.authRegAndLoginApi(res.code)
      console.log('拿到token？？？',result)
      //保存到本地
      wx.setStorageSync('token',result.data.token)
      wx.setStorageSync('uid',result.data.uid)
    },
  })
}


module.exports={
  checkUserIsLogined,
  authRegAndLogin
}